Add support for fullscreen in the NS port.
authorJan D. <jan.h.d@swipnet.se>
Sun, 30 Sep 2012 12:50:09 +0000 (14:50 +0200)
committerJan D. <jan.h.d@swipnet.se>
Sun, 30 Sep 2012 12:50:09 +0000 (14:50 +0200)
commit90419f2acc403221fb5d55e37c8f1ff1c19290a8
treeafb43c8e671789f5fbb2bb6b5ea0d917147a0b8f
parentc8d4789528a17c4aaf9ec79e23ae321823839f6f
Add support for fullscreen in the NS port.

* etc/NEWS: The NS port supports fullscreen.

* src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.

* src/nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
(EmacsView): Add variables for fullscreen.
(handleFS, setFSValue, toggleFullScreen): New in EmacsView.
(EmacsFSWindow): New interface for fullscreen.

* src/nsterm.m (NEW_STYLE_FS): New define.
(ns_fullscreen_hook, windowWillEnterFullScreen)
(windowDidEnterFullScreen, windowWillExitFullScreen)
(windowDidExitFullScreen, toggleFullScreen, handleFS)
(setFSValue): New functions.
(EmacsFSWindow): New implementation.
(canBecomeKeyWindow): New function for EmacsFSWindow.
(ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
(dealloc): Release nonfs_window if in fullscreen.
(updateFrameSize:): Call windowDidMove to update top/left.
(windowWillResize:toSize:): Check if frame is still maximized.
(initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
next_maximized, maximized_width, maximized_height and nonfs_window.
Call setCollectionBehavior if NEW_STYLE_FS.  Initialize bwidth and
tbar_height.
(windowWillUseStandardFrame:defaultFrame:): Update frame parameter
fullscreen. Set maximized_width/height.  Act on next_maximized.
etc/ChangeLog
etc/NEWS
src/ChangeLog
src/nsfns.m
src/nsterm.h
src/nsterm.m